import { BlogQueryRequest } from '../../model/dto/blog/BlogQueryRequest';
import ResultT from '../../utils/Result';
import token from '../../globalData/Token'

// 引入包名
import http from '@ohos.net.http';

class BlogApi{
  private basePath: string = 'http://localhost:8083/blog'

  /**
   * TODO 分页查询 blog 信息
   */
  public selectBlogsByPage<H>(model: BlogQueryRequest): Promise<ResultT<H>>{
    // 每一个httpRequest对应一个HTTP请求任务，不可复用
    let httpRequest = http.createHttp();

    return new Promise<ResultT<H>>((resolve, reject) => {
      httpRequest.request(
        // 填写HTTP请求的URL地址，可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
        this.basePath + "/selectBlogsByPage",
        {
          method: http.RequestMethod.GET, // 可选，默认为http.RequestMethod.GET
          // 开发者根据自身业务需要添加header字段
          header: {
            'token': token.token
          }
        }, (err, data) => {
        if (!err) {
          // data.result为HTTP响应内容，可根据业务需要进行解析
          // console.info('Result:' + data.result);
          let res: ResultT<H> = data.result as ResultT<H>
          console.log("blogData", JSON.stringify(res))
          resolve(res)
          // 当该请求使用完毕时，调用destroy方法主动销毁
          httpRequest.destroy();
        } else {
          console.info('error:' + JSON.stringify(err));
          // // 取消订阅HTTP响应头事件
          // httpRequest.off('headersReceive');
          // 当该请求使用完毕时，调用destroy方法主动销毁。
          httpRequest.destroy();
        }
      }
      );
    })
  }
}

let blogApi = new BlogApi()
export default blogApi as BlogApi



















